// import axios from "axios";
// 导入ajax
import requests from "./ajax";

// /playlist/catlist 获取全部歌单 使用get请求
export const getCatlist = () =>
  requests({
    url: "/playlist/catlist",
    method: "GET",
  });

// http://localhost:3000/personalized?limit=8 获取推荐歌单  ?limit=8 最少一条 最多三十

export const getPersonalized = () =>
  requests({
    url: "personalized?limit=8",
    method: "GET",
  });

// 最新专辑 /album/newest
export const getNewestList = () =>
  requests({
    url: "/album/newest",
    method: "GET",
  });

// /album/songsaleboard 获取榜单
// 可选参数 :
// limit : 返回数量 , 默认为 30
// offset : 偏移数量，用于分页 , 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
// albumType : 为数字专辑,1 为数字单曲
// type : daily:日榜,week:周榜,year:年榜,total:总榜
// /album/songsaleboard?type=year&year=2020&albumType=0

export const getSongsaleboardList = (params) =>
  requests({
    url: `/album/songsaleboard`,
    params,
    method: "GET",
  });

/* 所有榜单
说明 : 调用此接口,可获取所有榜单 接口地址 : /toplist
调用例子 : /toplist
 */
export const reqTopList = () =>
  requests({
    url: `/toplist`,
    method: "get",
  });

// 获获取歌单详情 (也可以是飙升榜)
/*  
必选参数 : id : 歌单 id
可选参数 : s : 歌单最近的 s 个收藏者,默认为 8
接口地址 : /playlist/detail
调用例子 : /playlist/detail?id=24381616
 */
export const reqPaylistDetail = (id) =>requests({
    url:`/playlist/detail?id=${id}`,
    method:"get"
})



// 轮播图 /banner, /banner?type=2   type 类型
// 0: pc
// 1: android
// 2: iphone
// 3: ipad
export const getSlideShow = () =>
  requests({
    url: `/banner?type=0`,
    method: "GET",
  });

// 电台 - 最热主播榜
// 说明 : 调用此接口,可获取最热主播榜
// 可选参数 :
// limit : 返回数量 , 默认为 100 (不支持 offset)
// /dj/toplist/popular?limit=8
// 获取最强主播
export const getHotAnchor = (limit) =>
  requests({
    url: `/dj/toplist/popular?limit=${limit}`,
    method: "GET",
  });

// 歌手分类列表
// limit : 返回数量 , 默认为 30

// offset : 偏移数量，用于分页 , 如 : 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0 initial: 按首字母索引查找参数,如 /artist/list?type=1&area=96&initial=b 返回内容将以 name 字段开头为 b 或者拼音开头为 b 为顺序排列, 热门传-1,#传 0

// type 取值:// -1:全部 1:男歌手  2:女歌手  3:乐队
// area 取值: -1:全部  7华语 96欧美 8:日本 16韩国 0:其他
// 接口地址 : /artist/list
export const reqSingerList = (params) =>
  requests({
    url: `/artist/list`,
    params,
    method: "GET",
  });

// /search/suggest 搜索建议  keywords : 关键词

export const reqSearchSuggestions = (keywords) =>
  requests({
    url: `/search/suggest?keywords=${keywords}`,
    method: "GET",
  });


//   获取歌单信息
/* 
必选参数 : id : 歌单 id
可选参数 : limit : 限制获取歌曲的数量，默认值为当前歌单的歌曲数量
可选参数 : offset : 默认值为0
接口地址 : /playlist/track/all
调用例子 : /playlist/track/all?id=24381616&limit=10&offset=1
*/
export const reqTrackAll=(params) =>requests({
    url:`/playlist/track/all`,
    params,
    method: 'get'
})

// /song/detail?ids=347230 获取歌曲详情
export const reqDetailList = (ids) =>
  requests({
    url: `/song/detail?ids=${ids}`,
    method: "GET",
  });

// /comment/music 获取评论区
// 必选参数 : id: 音乐 id
// 可选参数 : limit: 取出评论数量 , 默认为 20
//offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
export const reqMusicArea = (params) =>
  requests({
    url: `/comment/music`,
    params,
    method: "GET",
  });

// /lyric?id=33894312 id: 音乐 id

export const reqMusicLyric = (id) =>
  requests({
    url: `/lyric?id=${id}`,
    method: "GET",
  });

// 获取音乐地址
// 必选参数 : id : 音乐 id
//             level: 播放音质等级, 分为 standard => 标准,higher => 较高, exhigh=>极高, lossless=>无损, hires=>Hi-Res
// 接口地址 : /song/url/v1
// 调用例子 : /song/url/v1?id=33894312&level=exhigh    /song/url/v1?id=405998841,33894312&level=lossless

export const reqMusicUrl = (params) =>
  requests({
    url: `/song/url/v1`,
    params,
    method: "GET",
  });

/* 
获取相似音乐
说明 : 调用此接口 , 传入歌曲 id, 可获得相似歌曲
必选参数 : id: 歌曲 id
接口地址 : /simi/song
调用例子 : /simi/song?id=347230 ( 对应 ' 光辉岁月 ' 相似歌曲 )
 */
export const reqSimilaritySong = (id) =>
  requests({
    url: `/simi/song?id=${id}`,
    method: "GET",
  });

/* 
获取相似歌单
说明 : 调用此接口 , 传入歌曲 id, 可获得相似歌单
必选参数 : id: 歌曲 id
接口地址 : /simi/playlist
调用例子 : /simi/playlist?id=347230 ( 对应 ' 光辉岁月 ' 相似歌单 )
*/
export const reqSimilarityPlay = (id) =>
  requests({
    url: `/simi/playlist?id=${id}`,
    method: "GET",
  });


//   登录接口
/* 
必选参数 :
phone: 手机号码 password: 密码
可选参数 :
countrycode: 国家码，用于国外手机号登录，例如美国传入：1
md5_password: md5 加密后的密码,传入后 password 参数将失效
captcha: 验证码,使用 /captcha/sent接口传入手机号获取验证码,调用此接口传入验证码,可使用验证码登录,传入后 password 参数将失效
接口地址 : /login/cellphone
调用例子 : /login/cellphone?phone=xxx&password=yyy /login/cellphone?phone=xxx&md5_password=yyy /login/cellphone?phone=xxx&captcha=1234
*/
// 手机号登陆
export const reqPhoneLogin=(data)=>requests({
    url:'/login/cellphone',
    data,
    method:'post'
})
// 获取歌单评论
// 必选参数 : id: 歌单 id
// 可选参数 : limit: 取出评论数量 , 默认为 20
// offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
// before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
// 接口地址 : /comment/playlist
// 调用例子 : /comment/playlist?id=705123491
export const reqCommentPlayList=(params)=>requests({
  url:`/comment/playlist`,
  params,
  method:'get'
})

// 获取歌单推荐
/* 
必选参数 : id : 歌单 id
接口地址 : /related/playlist
调用例子 : /related/playlist?id=1
*/
export const reqRrelatedPlayList=(id) =>requests({
  url:`/related/playlist?id=${id}`,
  method:'get'
})

// 获取歌单收藏者
/* 
id : 歌单 id
可选参数 : limit: 取出评论数量 , 默认为 20
offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
接口地址 : /playlist/subscribers
调用例子 : /playlist/subscribers?id=544215255&limit=30 */

export const reqSubscribers =(params) =>requests({
  url:`/playlist/subscribers`,
  params,
  method:'get'
})

// 获取专辑内容
/* 说明 : 调用此接口 , 传入专辑 id, 可获得专辑内容
必选参数 : id: 专辑 id
接口地址 : /album
调用例子 : /album?id=32311 */
export const reqAlbumList=(id)=>requests({
    url: `/album?id=${id}`,
    method:'get'
})

// 专辑评论
/* 必选参数 : id: 专辑 id
可选参数 : limit: 取出评论数量 , 默认为 20
offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
接口地址 : /comment/album
调用例子 : /comment/album?id=32311 */
export const reqCommentAlbumList=(params)=>requests({
  url:`/comment/album`,
  params,
  method:'get'
})

// 他的其他专辑
/* 必选参数 : id: 歌手 id
可选参数 : limit: 取出数量 , 默认为 30
offset: 偏移数量 , 用于分页 , 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认 为 0
接口地址 : /artist/album
调用例子 : /artist/album?id=6452&limit=5 ( 周杰伦 ) 
*/
export const reqArtistAlbumList=(params)=> requests({
  url:'/artist/album',
  params,
  method:'get'
})

// 歌手粉丝
// 说明 : 调用此接口 , 传入歌手 id, 可获取歌手粉丝 
// 必选参数 : id : 歌手 id
// 接口地址 : /artist/fans
// 调用例子 : /artist/fans?id=2116&limit=10&offset=0

export const reqArtistFans=(params)=>requests({
  url:`/artist/fans`,
  params,
  method:'get'
})


// 获取歌手的50条信息
// 说明 : 调用此接口 , 传入歌手 id, 可获得歌手部分信息和热门歌曲
// 必选参数 : id: 歌手 id, 可由搜索接口获得
// 接口地址 : /artists
// 调用例子 : /artists?id=6452
export const reqArtists=(id)=>requests({
  url:`/artists?id=${id}`,
  menubar:"get"
})

/*获取歌手详情
说明 : 调用此接口 , 传入歌手 id, 可获得获取歌手详情
必选参数 : id: 歌手 id
接口地址 : /artist/detail
调用例子 : /artist/detail?id=11972054 (Billie Eilish) 
 */
export const reqArtistList=(id) =>requests({
  url: `/artist/detail?id=${id}`,
  method: 'get'
})

/* 
获取歌手 mv
说明 : 调用此接口 , 传入歌手 id, 可获得歌手 mv 信息 , 具体 mv 播放地址可调 用/mv传入此接口获得的 mvid 来拿到 , 如 : /artist/mv?id=6452,/mv?mvid=5461064
必选参数 : id: 歌手 id, 可由搜索接口获得
接口地址 : /artist/mv
调用例子 : /artist/mv?id=6452
 */
export const reqArtistAvList=(params)=> requests({
  url:'/artist/mv',
  params,
  method:'get'
})


/* 说明 : 调用此接口 , 传入歌手 id, 可获得歌手描述
必选参数 : id: 歌手 id
接口地址 : /artist/desc
调用例子 : /artist/desc?id=6452 ( 周杰伦 ) */

export const reqArtistDesc=(id)=>requests({
  url:`/artist/desc?id=${id}`,
  method:`get`
})

/* 说明 : 调用此接口 , 传入歌手 id, 可获得相似歌手
必选参数 : id: 歌手 id
接口地址 : /simi/artist
调用例子 : /simi/artist?id=6452 ( 对应和周杰伦相似歌手 ) */
export const reqSimiArtist=(id)=>requests({
  url:`/simi/artist?id=${id}`,
  method:`get`
})

/* 
获取创建的歌单
必选参数 : uid : 用户 id
可选参数 :
limit : 返回数量 , 默认为 30
offset : 偏移数量，用于分页 , 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
接口地址 : /user/playlist
调用例子 : /user/playlist?uid=32953014 */

export const reqUserPlayList=(params)=>requests({
  url:`/user/playlist`,
  params,
  method:'get'
})
/* 
获取用户详情
说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户详情
必选参数 : uid : 用户 id
接口地址 : /user/detail
调用例子 : /user/detail?uid=32953014 */
export const reqUserDetail=(uid) =>requests({
  url:`/user/detail?uid=${uid}`,
  method:'get'
})

// 说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户电台
// 调用例子 : /user/dj?uid=32953014
export const reqUserDj=(uid) =>requests({
  url:`/user/dj?uid=39002`,
  method:'get'
})

// 说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户详情
// 必选参数 : uid : 用户 id
// 接口地址 : /user/detail
// 调用例子 : /user/detail?uid=32953014

export const reqloginList = (uid) =>requests({
  url:`/user/detail?uid=${uid}`,
  method: "get"
})

/* 
说明 : 登录后调用此接口 ,可获取私信
可选参数 :
limit : 返回数量 , 默认为 30
offset : 偏移数量，用于分页 , 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
接口地址 : /msg/private
调用例子 : /msg/private?limit=3
*/
export const reqmsgprivate = (params) =>requests({
    url:'/msg/private',
    params,
    method: "get"
  })

/* 
limit : 返回数量 , 默认为 30
lasttime : 返回数据的 time ,默认-1,传入上一次返回结果的 time,将会返回下一页的数据
接口地址 : /msg/notices
调用例子 : /msg/notices?limit=3 */
  export const reqmsgnotices = (params) =>requests({
    url:'/msg/notices',
    params,
    method: "get"
  })

/* 
获取用户等级信息
说明 : 登录后调用此接口 , 可以获取用户等级信息,包含当前登录天数,听
歌次数,下一等级需要的登录天数和听歌次数,当前等级进度,对应 */
// 调用例子 : /user/level 
export const reqUserLevel = (params) =>requests({
  url:'/user/level',
  params,
  method: "get"
})

/* 
说明 : 登录后调用此接口 ,可获取用户账号信息
接口地址 : /user/account */

export const reqUserAccount = (params,data) =>requests({
  url:`/user/account?timestamp=${data}`,
  params,
  method: "get"
})

/* 
更新用户信息
说明 : 登录后调用此接口 , 传入相关信息,可以更新用户信息
/user/update
*/
export const reqUpdate = (params) =>requests({
  url:'/user/update',
  params,
  method: "get"
})

/* 
获取用户绑定信息
说明 : 登录后调用此接口 , 可以获取用户绑定信息
必选参数 : uid : 用户 id
接口地址 : /user/binding
调用例子 : /user/binding?uid=32953014
*/
export const reqUserbinding = (params) =>requests({
  url:'/user/binding',
  params,
  method: "get"
})

// /logout 退出登录
export const reqLogout = (params) =>requests({
  url:'/logout',
  params,
  method: "get"
})



/* 
收藏的歌手列表
说明 : 调用此接口,可获取收藏的歌手列表
接口地址 : /artist/sublist
调用例子 : /artist/sublist 
*/

export const reqArtistSublist  = (params,) =>requests({
  url:`/artist/sublist`,
  params,
  method: "get"
})